package com.gc.cn.p1_array;

import java.util.Arrays;

public class DemoSumjiouArray {
    public static void main(String[] args) {
        int[] arrA = {1, 2, 3, 4, 5};
        System.out.println("原数组: " + Arrays.toString(arrA));

        sortOddEven(arrA);

        System.out.println("排序后: " + Arrays.toString(arrA));
    }

    public static void sortOddEven(int[] arr) {
        if (arr == null || arr.length <= 1) {
            return;
        }

        // 1. 统计奇数的个数
        int oddCount = 0;
        for (int num : arr) {
            if (num % 2 != 0) {
                oddCount++;
            }
        }

        // 2. 创建两个指针，oddIndex 指向奇数位置，evenIndex 指向偶数位置
        int oddIndex = 0;
        int evenIndex = oddCount;

        // 3. 遍历数组，奇数放前 oddCount 位，偶数放后面
        for (int i = 0; i < arr.length; i++) {
            if (arr[i] % 2 != 0) {
                arr[oddIndex++] = arr[i]; // 奇数放前面
            } else {
                arr[evenIndex++] = arr[i]; // 偶数放后面
            }
        }
    }
}